package com.example.controlecarro.DAO;

import java.util.ArrayList;
import java.util.List;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;

import com.example.controlecarro.model.Carro;


public class CarroDAO {

	 private SQLiteDatabase banco;
	    private Banco dbHelper;
	 

	    private String[] colunas = {Banco.CAR_ID, Banco.CAR_VEICULO, Banco.CAR_PLACA,Banco.CAR_ANO };
	 
	    public CarroDAO(Context context) {
	        dbHelper = new Banco(context);
	    }
	 
	    public void open() throws SQLException {
	        banco = dbHelper.getWritableDatabase();
	    }
	 
	    public void close() {
	        dbHelper.close();
	    }
	 
	    public long Inserir(Carro carro) {
	        ContentValues values = new ContentValues();
	 

	        values.put(Banco.CAR_VEICULO, carro.getVeiculo());
	        values.put(Banco.CAR_PLACA, carro.getPlaca());
	        values.put(Banco.CAR_ANO, carro.getAno());
	         
	        return banco.insert(Banco.TBL_CARRO, null, values);
	    }
	     
	     
	    public int Alterar(Carro carro) {
	        long id = carro.getId();
	        ContentValues values = new ContentValues();
	         
	
	        values.put(Banco.CAR_VEICULO, carro.getVeiculo());
	        values.put(Banco.CAR_PLACA, carro.getPlaca());
	        values.put(Banco.CAR_ANO, carro.getAno());
	 
	      
	        return banco.update(Banco.TBL_CARRO, values, Banco.CAR_ID + " = " + id, null);
	    }
	 
	    public void Excluir(Carro carro) {
	        long id = carro.getId();
	         
	        
	        banco.delete(Banco.TBL_CARRO, Banco.CAR_ID+ " = " + id, null);
	    }
	 
	    public List<Carro> Consultar() {
	        List<Carro> lstAgenda = new ArrayList<Carro>();
	 
	        Cursor cursor = banco.query(Banco.TBL_CARRO, colunas, 
	                null, null, null, null, Banco.CAR_VEICULO);
	        cursor.moveToFirst();
	        while (!cursor.isAfterLast()) {
	            Carro lCarro = cursorCarro(cursor);
	            lstAgenda.add(lCarro);
	            cursor.moveToNext();
	        }
	         

	        cursor.close();
	        return lstAgenda;
	    }
	 

	    private Carro cursorCarro(Cursor cursor) {
	        Carro lCarro = new Carro();
	        
	        lCarro.setId(cursor.getLong(0));
	        lCarro.setVeiculo(cursor.getString(1));
	        lCarro.setPlaca(cursor.getString(2));
	        lCarro.setAno(cursor.getString(3));
	        
	        return lCarro;
	    }
}
